Method and device for computer assisted selection of suction nozzles

ABSTRACT

Components are allocated to pipettes of different pipette types in accordance with an inverse greedy method or in accordance with a sequence of flow methods or a linear program as a result of which, for a given consecutive-ones characteristic of all the possible allocations, an optimun solution is ensured for a number of cycles, which can be predetermined, for the process of population a printed circuit board by means of an automatic placement machine.

This application claims priority to International Application No.PCT/DE99/02536 which was published in the German language on Aug. 13,1999.

DESCRIPTION TECHNICAL FIELD OF THE INVENTION

The present invention relates to a method and apparatus forcomputer-aided pipette selection for a placement head of an automaticplacement machine, and in particular for allocation of components to thepipette types provided in a pipette selection.

BACKGROUND OF THE INVENTION

A method for checking the so-called consecutive ones characteristic, isdescribed in W. L. HSU, A Simple Test for the Consecutive Ones Property,Lecture Notes in Computer Science: Algorithms and Computation, Vol. 650,pages 459-468, 1992. If the consecutive ones characteristic is present,then the method implicitly provides all the permissible associations tocomponent types.

Various types of placement heads are normally used. One such placementhead is, for example, the so-called SP head (Speed Placer-head), bymeans of which a number of components can be picked up from thecomponent store, transported and successively placed on the printedcircuit board.

An SP placement head has a number of segments, (normally 6 or 12segments), to each of which a pipette can be fitted. The pipettes allowcomponents to be picked up and placed in position. There are variouspipette types by means of each of which different types of componentscan be placed in position. The process of populating a printed circuitboard with components by means of an SP placement head normally takesplace in a number of iterations (cycles), in each of which the placementhead first of all picks up as a maximum the number of components whichcan be processed and then places them down on the printed circuit boardin the same sequence in which it picked them up. The time which isrequired for one cycle depends only to a minor extent on the number ofcomponents picked up and placed in position in this cycle, so that thesmallest possible number of cycles for the placement process is the mosttime-critical criterion relating to the population process.

It is thus desirable to pick up and place in position as many componentsas possible in the individual cycles, that is to say to avoid “gaps” inthe placement process, in association thus to minimize the number ofcycles required to place all the components in position.

A method for checking the so-called consecutive ones characteristic, isdescribed in [1]. If the consecutive ones characteristic is present,then the method from [1] implicitly provides all the permissibleassociations to component types.

A method for checking the so-called acyclic hypergraph characteristic,which has a linear complexity, is described in R. E. Taijan, M.Yannakakis, Simple Linear-Time Algorithms to Test Chordality of Graphs,Test Acyclicity of Hypergraphs, and Selectively Reduce AcyclicHypergraphs, SIAM J, Comput., Vol. 13, pages 566-579, 1984.

A method for solving a flow problem is described in R. K. Ahuja et al.,Network Flows, Prentice Hall, pages 207-242 and 255-258, 1993.

A so-called branch and cut method for optimum solution of an integerlinear program is described in G. L. Nemhauser, L. A. Wolsey, Integerand Combinatorial Optimization, Wiley, N.Y., pages 349-379, 1988.

SUMMARY OF THE INVENTION

In one embodiment of the invention, there is a method for computer-aidedpipette selection for a placement head of an automatic placement machineand for allocation of components to different pipette typespredetermined in a pipette selection for a given number of cycles z. Themethod using, a stored component type list B with a respectivelyassociated number of components of the component type to be placed, acomponent type association based on the component types, a storedpipette type list P of available pipette types and an allocation list Ewhich indicates which component types can be placed using what pipettetypes, and based on the component type association for the pipette typespεP, a pipette type association is formed in such a manner thatp1≦p2→(1(p1)<1(p2)) v ((1(p1)=1(p2)){circumflex over ( )}f(p1)p2))),where p1, p2εP denote different pipette types, 1(p), pεP, is defined by1(p)=max{bεB|(b, p)εE}, f(p), pεP, is defined by f(p)=min{bεB|(b, p)εE},in which the components are successively allocated to the pipette types,in a sequence which results from the component type association, in thefollowing manner, if, for a component type, pipette types exist to whichany given multiple of the number of cycles z of large numbers ofcomponents are not already allocated, then pipette types are firstallocated to components on the basis of the pipette type association, insuch a manner that the number of allocated components is rounded up tothe next multiple of the number of cycles z, if any components of thiscomponent type remain, then the remaining components are allocated tothe last possible pipette type based on the pipette type association andin which the number of components allocated to one pipette type is usedto determine the number of pipettes of that pipette type to be selected.

In one aspect of the invention, there is a method for computer-aidedpipette selection for a placement head of an automatic placement machineand for allocation of components to the pipette types predetermined in apipette selection for a given number of cycles z, in which, using astored component type list B with a respectively associated number ofcomponents of the component type to be placed, a stored pipette typelist P of available pipette types and an allocation list E whichindicates which component types can be placed using what pipette types,determining whether a permissible component type association by carryingout a check, such that (b1, p)εE, (b2, p)εE, b1≦b≦b2→(b, p)εE, where b1,b2, b components in the component type list B are denoted, (b, p)εE, bεB, pεP, denotes the situation where a component of component type b canbe placed using a pipette of pipette type p, in which, based on thepermissible component type association for the pipette types pεP, apipette type association is formed in such a manner that,p1≦p2→(1(p1)≦1(p2))v((1(p1)=1(p2)){circumflex over ( )}f(p1)≧f(p2))),where p1, p2εP denote different pipette types, 1(p), pεP, is defined by1(p)=max{bεB|(b, p)εE}, f(p), pεP, is defined by f(p)=min{bεB|(b, p)εE},in which the components are successively allocated to the pipette types,in a sequence which results from the component type association, in thefollowing manner, if, for a component type, pipette types exist to whichany given multiple of the number of cycles z of large numbers ofcomponents are not already allocated, then the pipette types are firstallocated to components on the basis of the pipette type association, insuch a manner that the number of allocated components is rounded up tothe next multiple of the number of cycles z; if any components of thecomponent type remain, then the remaining components are allocated tothe last possible pipette type based on the pipette type associationand, in which the number of components allocated to one pipette type isused to determine the number of pipettes of that pipette type to beselected.

In another aspect of the invention, in the situation where nopermissible component type association exists, the allocation list E isreduced in size, based on the component types and the pipette types, asmany components as possible are allocated successively for each pipettetype to the respective pipette type so that a component type associationto the component types exists for the resultant allocation list E insuch a manner that: (b1, p)εE, (b2, p)εE, b1≦b≦b2→(b, p)εE, in which,for the pipette types pεP a pipette type association is formed in such amanner that: P1≦P2→(1(P1)<1(P2))v((1(P1)=1(P2)){circumflex over ()}f(P1)≧f(P2))), in which the components are successively allocated tothe pipette types, in a sequence which results from the component typeassociation, in the following manner, if, for a component type, pipettetypes exist to which any given multiple of the number of cycles z oflarge numbers of components are not already allocated, then pipettetypes are first allocated to components on the basis of the pipette typeassociation, in such a manner that the number of allocated components isrounded up to the next multiple of the number of cycles z; if anycomponents of this component type remain, then the remaining componentsare allocated to the last possible pipette type based on the pipettetype association and, in which the number of components allocated to onepipette type is used to determine the number of pipettes of that pipettetype to be selected.

In still another aspect of the invention, in the situation where nopermissible component type association exists, the solution to bedetermined is found by solving a sequence of flow problems.

In yet another aspect of the invention, in the situation where nopermissible component type association exists, a check is carried out todetermine whether a set of trees with the pipette types as nodes of thetrees can be determined for possible allocations of the component typesto the pipette types in accordance with the allocation list E, so thateach sub-graph, which is induced from a set of pipette types P(b) whichcan place a component b, in the set of trees is cohesive, and if such aset of trees can be determined, the solution to be determined is foundby solving a sequence of flow problems.

In another aspect of the invention, the situation where no permissibleassociation exists, a check is carried out to determine whether a set oftrees with the pipette types as nodes of the trees can be determined forpossible allocations of the component types to the pipette types inaccordance with the allocation list, so that each sub-graph, which isinduced by a set of pipette types P(b) which can place a component b, inthe set of trees is cohesive, if such a set of trees cannot bedetermined, elements are deleted from the allocation list E until such aset of trees can be determined, and the solution to be determined isfound by solving a sequence of flow problems.

In yet another aspect of the invention, the sequence of flow problems isformed in accordance with the following rules, Σx_(bp)=n_(b) p:(b,p)εE∀bεB Σx_(bp)≦c_(p) p:(b,p)εE ∀pεP, n_(b) indicates a number ofcomponents of the component type bεE to be placed, c_(p), pεP denotes awindow which can be predetermined and which is varied in association toform the sequence of flow problems, a first solution variable x_(bp)indicates how many components of the component type bεB are placed by apipette of the pipette type pεP.

In still another aspect of the invention, in the situation where nopermissible association exists, a check is carried out to determinewhether a set of trees with the pipette types as nodes of the trees canbe determined for possible allocations of the component types to thepipette types in accordance with the allocation list, so that eachsub-graph, which is induced by a set of pipette types P(b) which canplace a component b, in the set of trees is cohesive, and in which, ifno such set of trees can be determined, the solution to be determined isfound by solving a linear program.

In another aspect of the invention, in which the linear program isformed in accordance with the following rules: n_(b) indicates a numberof components of the component type bεE to be placed, a first solutionvariable x_(bp) indicates how many components of the component type bεBare placed by a pipette of the pipette type pεP, a second solutionvariable yp indicates how many pipettes of the pipette type pεP areselected, k denotes a number of segments of the placement head, andx,y≧0 is an integer.

In still another aspect of the invention, the linear program is solvedusing a branch and cut method.

In yet another aspect of the invention, which is carried out a number oftimes for a different number of cycles in each case.

In another aspect of the invention, in which the pipettes which havebeen determined are allocated to the placement head, and the componentsare placed on a printed circuit board using the placement head.

In another embodiment of the invention, there is an apparatus forcomputer-aided pipette selection for a placement head of an automaticplacement machine and for allocation of components to different pipettetypes predetermined in a pipette selection for a given number of cyclesz, comprising a memory for storing a component type list B, a pipettetype list B and an allocation list E; and a processor which is coupledto the memory and stores the following for processing the storedcomponent type list B with the respectively associated number ofcomponents of the component type to be placed, a component typeassociation for the component types, a stored pipette type list P ofavailable pipette types and the allocation list E which indicates whichcomponent types can be placed by what pipette types, and based on thecomponent type association for the pipette types pεP, a pipette typeassociation is formed in such a mannerthat:p1≦p2→(1(p1)<1(p2))v((1(p1)1(p2)){circumflex over ()}f(p1)≧f(p2))), where p1, p2εP denote different pipette types, 1(p),pεP, is defined by 1(p)=max{bεB|(b, p)εE}, f(p), pεP, is defined byf(p)=min{bεB|(b, p)εE}, in which the components are successivelyallocated to the pipette types, in a sequence which results from thecomponent type association, in the following manner. If for a componenttype, pipette types exist to which any given multiple of the number ofcycles z of large numbers of components are not already allocated, thenthe pipette types are first allocated to components on the basis of thepipette type association, in such a manner that the number of allocatedcomponents is rounded up to the next multiple of the number of cycles z,if any components of this component type remain, then the remainingcomponents are allocated to the last possible pipette type based on thepipette type association and, in which the number of componentsallocated to one pipette type is used to determine the number ofpipettes of that pipette type to be selected.

In still another embodiment of the invention, an apparatus forcomputer-aided pipette selection for a placement head of an automaticplacement machine and for allocation of components to the pipette typespredetermined in a pipette selection for a given number of cycles z,comprising, a memory for storing a component type list B, a pipette typelist B and an allocation list E; and a processor which is coupled to thememory and stores the following for processing, a stored component typelist B with the respectively associated number of components of thecomponent type to be placed, a stored pipette type list P of availablepipette types and an allocation list E which indicates which componenttypes can be placed by what pipette types, a check is carried out todetermine whether a permissible component type association exists, suchthat (b1, p)εE, (b2, p)εE, b1≦b≦b2→(b, p)εE, where b1, b2, b componentsin the component type list B are denoted, (b, p)εE, bεB , pεP, denotesthe situation where a component of component type b can be placed usinga pipette of pipette type p, in which, based on the permissiblecomponent type association for the pipette types pεP, a pipette typeassociation is formed in such a manner that,p1≦p2→(1(p1)<1(p2))v((1(p1)=1(p2)){circumflex over ( )}f(p1)≧f(p2))),where p1, p2εP denote different pipette types, 1(p), pεP, is defined by1(p)=max{bεB|(b, p)εE}, f(p), pεP, is defined by f(p)=min{bεB|(b, p)εE},in which the components are successively allocated to the pipette types,in a sequence which results from the component type association, in thefollowing manner, if, for a component type, pipette types exist to whichany given multiple of the number of cycles z of large numbers ofcomponents are not already allocated, then the pipette types are firstallocated to components on the basis of the pipette type association, insuch a manner that the number of allocated components is rounded up tothe next multiple of the number of cycles z, if any components of thiscomponent type remain, then the remaining components are allocated tothe last possible pipette type based on the pipette type associationand, in which the number of components allocated to one pipette type isused to determine the number of pipettes of that pipette type to beselected.

In another aspect of the invention, the processor is set up in such amanner that in the situation where no permissible component typeassociation exists, the allocation list E is reduced in size and basedon the component types and the pipette types, as many components aspossible are allocated successively for each pipette type to therespective pipette type so that a component type association to thecomponent types exists for the resultant allocation list E in such amanner that, (b1, p)εE, (b2, p)εE, b1≦b≦b2→(b, p)εE, in which, for thepipette types pεP a pipette type association is formed in such a mannerthat, P1≦P2→(1(P1)<1(P2))v((1(P1)=1(P2)){circumflex over ()}f(P1)≧f(P2))), the components are successively allocated to thepipette types, in a sequence which results from the component typeassociation, in the following manner, if, for a component type, pipettetypes exist to which any given multiple of the number of cycles z oflarge numbers of components are not already allocated, then pipettetypes are first allocated to components on the basis of the pipette typeassociation, in such a manner that the number of allocated components isrounded up to the next multiple of the number of cycles z; if anycomponents of this component type remain, then the remaining componentsre allocated to the last possible pipette type based on the pipette typeassociation and, the number of components allocated to one pipette typeis used to determine the number of pipettes of that pipette type to beselected. In still another aspect of the invention, in which theprocessor is set up in such a manner that in the situation where nopermissible component type association exists, a check is carried out todetermine whether a set of trees with the pipette types as nodes of thetrees can be determined for possible allocations of the component typesto the pipette types in accordance with the allocation list E, so thateach sub-graph, which is induced from a set of pipette types P(b) whichcan place a component b, in the set of trees is cohesive, and if such aset of trees can be determined, the solution to be determined is foundby solving a sequence of flow problems.

In yet another aspect of the invention, in which the processor is set upin such a manner that in the situation where no permissible associationexists, a check is carried out to determine whether a set of trees withthe pipette types as nodes of the trees can be determined for possibleallocations of the component types to the pipette types in accordancewith the allocation list, so that each sub-graph, which is induced by aset of pipette types P(b) which can place a component b, in the set oftrees is cohesive, if such a set of trees cannot be determined, elementsare deleted from the allocation list E until such a set of trees can bedetermined, and the solution to be determined is found by solving asequence of flow problems.

In another aspect of the invention, in which the processor is set up insuch a manner that the sequence of flow problems is formed in accordancewith the following rules, Σx_(bp)=n_(b) p:(b,p)εE ∀bεB Σx_(bp)≦c_(p)p:(b,p)εE ∀pεP, n_(b) where n_(b) indicates a number of components ofthe component type bεE to be placed, c_(p), pεP denotes a window whichcan be predetermined and which is varied in association to form thesequence of flow problems, a first solution variable x_(bp) indicateshow many components of the component type bεB are placed by a pipette ofthe pipette type pεP.

In yet another aspect of the invention, in which the processor is set upin such a manner that in the situation where no permissible associationexists, a check is carried out to determine whether a set of trees withthe pipette types as nodes of the trees can be determined for possibleallocations of the component types to the pipette types in accordancewith the allocation list, so that each sub-graph, which is induced by aset of pipette types P(b) which can place a component b, in the set oftrees is cohesive, and if such a set of trees cannot be determined, thesolution to be determined is found by solving a linear program as thepossible allocations are formulated.

In still another aspect of the invention, in which the processor is setup in such a manner that the linear program is formed in accordance withthe following rules, Σx_(bp)=n_(b) p:(b,p)εE ∀bεB Σx_(bp)≦y_(p) zp:(b,p)εE ∀pεP Σy_(p)≦k pεP, n_(b) where n_(b) indicates a number ofcomponents of the component type bεE to be placed, a first solutionvariable x_(bp) indicates how many components of the component type bεBare placed by a pipette of the pipette type pεP ; a second solutionvariable yp indicates how many pipettes of the pipette type pεP areselected, k denotes a number of segments of the placement head, andx,y≧0 is an integer.

In another aspect of the invention, in which the processor is set up insuch a manner that the method is carried out for a different number ofcycles in each case.

In still another aspect of the invention, an automatic placement machinehaving an apparatus as claimed in claim 13 further comprising, acomponent memory for the component, a placement head for picking uppipettes, at least one pipette for picking up components, a placementdevice for placing the components on a printed circuit.

In yet another aspect of the invention, the method is carried out anumber of times for a different number of cycles in each case.

In another aspect of the invention, in which the pipettes which havebeen determined are allocated to the placement head, and the componentsare placed on a printed circuit board using the placement head.

In still another aspect of the invention, in which the processor is setup in such a manner that the method is carried out for a differentnumber of cycles in each case.

In yet another aspect of the invention, a, automatic placement machinehaving an apparatus further comprising: a component memory for thecomponent, a placement head for picking up pipettes, at least onepipette for picking up components, a placement device for placing thecomponents on a printed circuit.

BRIEF DESCRIPTION OF THE DRAWINGS

The figures illustrate an exemplary embodiment of the invention, whichwill be explained in more detail in the following text.

FIG. 1 shows a flow chart which illustrates the method in an exemplaryembodiment.

FIG. 2 shows a sketch of an automatic placement machine.

FIGS. 3a and 3 b show a sketch of possible allocations of components topipette types, which satisfy the consecutives ones characteristic.

FIGS. 4a and 4 b show a sketch of possible allocations of components andpipette types before and after the sorting of the pipette types.

FIGS. 5a and 5 b show a sketch of possible allocations which satisfy theacyclic hypergraph characteristic.

FIG. 6 shows an alternative to the second huristic step or anunacceptibility which can be configured as an integere linear program.2

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The invention relates to computer-aided pipette selection for aplacement head of an automatic placement machine, and to the allocationof components for the pipette types predetermined in a pipetteselection.

The invention is based on for a placement head and a predetermined setof components to be placed in position by it, specifying a method and anapparatus for selection of the pipettes to be fitted to the placementhead. Additionally, the invention is based on allocation of thecomponents to the pipette types which are included in the pipetteselection, by means of which method and apparatus a printed board ispopulated with the predetermined components in as small a number ofcycles as possible.

One method for computer-aided pipette selection for a placement head ofan automatic placement machine and for allocation of components to thepipette types predetermined in a pipette selection, for a given numberof cycles z, comprises the following:

using

a stored component type list B with a respectively associated number ofcomponents of the component type to be placed,

a component type association based on the component types,

a stored pipette type list P of available pipette types and anallocation list E which indicates which component types can be placedusing what pipette types,

and based on the component type association for the pipette types pεP, apipette type association is formed in such a manner that:

p 1≦p 2→(1(p 1)<1(p 2))v((1(p 1)=1(p 2)){circumflex over ( )}f(p 1)≧f(p2))),

where

p1, p2εP denote different pipette types,

1(p), pεP, is defined by

1(p)=max{bεB|(b, p)εE},

 f(p), pεP, is defined by

f(p)=min{bεB|(b, p)εE},

in which the components are successively allocated to the pipette types,in a sequence which results from the component type association, in thefollowing manner:

if, for a component type, pipette types exist to which any givenmultiple of the number of cycles z of large numbers of components arenot already allocated, then these pipette types are first of allallocated to components on the basis of the pipette type association, insuch a manner that the number of allocated components is rounded upwhere possible to the next multiple of the number of cycles z;

if any components of this component type remain, then these areallocated to the last possible pipette type based on the pipette typeassociation and, in which the number of components allocated to onepipette type is used to determine the number of pipettes of that pipettetype to be selected.

A further method for computer-aided pipette selection for a placementhead of an automatic placement machine and for allocation of componentsto the pipette types predetermined in a pipette selection, with a givennumber of cycles z, comprises the following:

a stored component type list B with a respectively associated number ofcomponents of the component type to be placed,

a stored pipette type list P of available pipette types and anallocation list E which indicates which component types can be placedusing what pipette types,

a check is carried out to determine whether a permissible component typeassociation exists, that is to say whether:

(b 1, p)εE, (b 2, p)εE, b 1≦b≦b 2→(b, p)εE,

where

b1, b2, b components in the component type list B are denoted,

(b, p)εE, bεB, pεP, denotes the situation where a component of componenttype b can be placed using a pipette of pipette type p,

based on the permissible component type association for the pipettetypes pεP, a pipette type association is formed in such a manner that:

p 1≦p 2→(1(p 1)<1(p 2))v((1(p 1)=1(p 2)){circumflex over ( )}f(p 1)≧f(p2))),

where

p1, p2εP denote different pipette types,

b 1(p), pεP, is defined by

1(p)=max{bεB|(b, p)εE},

 f(p), pεP, is defined by

f(p)=min{bεB|(b, p)εE},

the components are successively allocated to the pipette types, in asequence which results from the component type association, in thefollowing manner:

if, for a component type, pipette types exist to which any givenmultiple of the number of cycles z of large numbers of components arenot already allocated, then these pipette types are first of allallocated to components on the basis of the pipette type association, insuch a manner that the number of allocated components is rounded upwhere possible to the next multiple of the number of cycles z;

if any components of this component type remain, then these areallocated to the last possible pipette type based on the pipette typeassociation and, the number of components allocated to one pipette typeis used to determine the number of pipettes of that pipette type to beselected.

An apparatus for computer-aided pipette selection for a placement headof an automatic placement machine and for allocation of components tothe pipette types predetermined in a pipette selection, for apredetermined number of cycles z, includes

a memory for storing a component type list B, a pipette type list B andan allocation list E,

a processor which is coupled to the memory and is set up in such amanner that the following can be carried out:

using

the stored component type list B with the respectively associated numberof components of the component type to be placed,

a component type association for the component types,

the stored pipette type list P of available pipette types and theallocation list E which indicates which component types can be placed bywhat pipette types,

and based on the component type association for the pipette types pεP, apipette type association is formed in such a manner that:

p 1≦p 2→(1(p 1)<1(p 2))v((1(p 1)=1(p 2)){circumflex over ( )}f(p 1)≧f(p2))),

where

p1, p2εP denote different pipette types,

1(p), pεP, is defined by

1(p)=max{bεB|(b, p)εE},

 f(p), pεP, is defined by

f(p)=min{bεB|(b, p)εE},

in which the components are successively allocated to the pipette types,in a sequence which results from the component type association, in thefollowing manner:

if, for a component type, pipette types exist to which any givenmultiple of the number of cycles z of large numbers of components arenot already allocated, then these pipette types are first of allallocated to components on the basis of the pipette type association, insuch a manner that the number of allocated components is rounded upwhere possible to the next multiple of the number of cycles z;

if any components of this component type remain, then these areallocated to the last possible pipette type based on the pipette typeassociation and, in which the number of components allocated to onepipette type is used to determine the number of pipettes of that pipettetype to be selected.

A further apparatus for computer-aided pipette selection for a placementhead of an automatic placement machine and for allocation of componentsto the pipette types predetermined in a pipette selection, for a givennumber of cycles z, includes

a memory for storing a component type list B, a pipette type list B andan allocation list E,

a processor which is coupled to the memory and is set up in such amanner that the following steps can be carried out:

using

a stored component type list B with the respectively associated numberof components of the component type to be placed,

a stored pipette type list P of available pipette types and anallocation list E which indicates which component types can be placed bywhat pipette types,

a check is carried out to determine whether a permissible component typeassociation exists, that is to say whether:

(b 1, p)εE, (b 2, p)εE, b 1≦b≦b 2→(b, p)εE,

where

b1, b2, b components in the component type list B are denoted,

(b, p)εE, bεB, pεP, denotes the situation where a component of componenttype b can be placed using a pipette of pipette type p,

in which, based on the permissible component type association for thepipette types pεP, a pipette type association is formed in such a mannerthat:

p 1≦p 2→(1(p 1)<1(p 2))v((1(p 1)=1(p 2)){circumflex over ( )}f(p 1)≧f(p2))),

where

p1, p2εP denote different pipette types,

1(p), pεP, is defined by

1(p)=max{bεB|(b, p)εE},

 f(p), pεP, is defined by

f(p)=min{bεB|(b, p)εE},

in which the components are successively allocated to the pipette types,in a sequence which results from the component type association, in thefollowing manner:

if, for a component type, pipette types exist to which any givenmultiple of the number of cycles z of large numbers of components arenot already allocated, then these pipette types are first of allallocated to components on the basis of the pipette type association, insuch a manner that the number of allocated components is rounded upwhere possible to the next multiple of the number of cycles z;

if any components of this component type remain, then these areallocated to the last possible pipette type based on the pipette typeassociation and,

in which the number of components allocated to one pipette type is usedto determine the number of pipettes of that pipette type to be selected.

The invention is advantageous in that the process of populating aprinted circuit board with predetermined components can be carried outin as small a number of cycles as possible, in some cases even in anoptimum number of cycles, which leads to the population process beingspeeded up considerably.

In one embodiment, the method checks the so-called consecutive onescharacteristic of the possible allocations of the components to therespective predetermined pipette types, that is to say it investigatesthe question as to whether a permissible component type associationexists.

If the consecutive ones characteristic is not satisfied, then, in adevelopment, it is advantageous to reduce the size of the set E ofpossible allocations of component types to pipette types: based on thecomponent types and the pipette types, as many components as possibleare allocated successively for each pipette type to the respectivepipette type so that a component type association to the component typesexists for the resultant allocation list E in such a manner that:

(b 1, p)εE, (b 2, p)εE, b 1≦b≦b 2→(b, p)εE.

For the pipette types pεP, a pipette type association is formed for thepurposes of this development in such a manner that:

p 1≦p 2→(1(p 1)<1(p 2))v((1(p 1)=1(p 2)){circumflex over ( )}f(p 1)≧f(p2))),

and the components are allocated to the pipette types in a sequencewhich results from the component type association, in the followingmanner:

if, for a component type, pipette types exist to which any givenmultiple of the number of cycles z of large numbers of components arenot already allocated, then these pipette types are first of allallocated to components on the basis of the pipette type association, insuch a manner that the number of allocated components is rounded upwhere possible to the next multiple of the number of cycles z;

if any components of this component type remain, then these areallocated to the last possible pipette type based on the pipette typeassociation. The number of components allocated to one pipette type isused to determine the number of pipettes of that pipette type to beselected.

Furthermore, in the situation where no permissible component typeassociation exists, the solution to be determined can be found bysolving a sequence of flow problems.

In the situation where no permissible component type association exists,a check is carried out to determine whether a set of trees with thepipette types as nodes of the trees can be determined for possibleallocations of the component types to the pipette types in accordancewith the allocation list E, so that each sub-graph, which is inducedfrom a set of pipette types P(b) which can place a component b, in theset of trees is cohesive, and if such a set of trees can be determined,the pipette types can then be topologically sorted, and the solution tobe determined is found by solving a sequence of flow problems.

This refinement results in the population process being carried out witha minimum number of required cycles.

A further preferred refinement provides that, in the situation where nopermissible association exists, a check is carried out to determinewhether a set of trees with the pipette types as nodes of the trees canbe determined for possible allocations of the component types to thepipette types in accordance with the allocation list, so that eachsub-graph, which is induced by a set of pipette types P(b) which canplace a component b, in the set of trees is cohesive. If such a set oftrees cannot be determined, elements are deleted from the allocationlist E until such a set of trees can be determined. The solution to bedetermined is found by solving a sequence of flow problems.

The flow problem can be formed in accordance with the following rules:${\sum\limits_{p:{{({b,p})} \in E}}x_{bp}} = {n_{b}\quad {\forall{b \in B}}}$${\sum\limits_{p:{{({b,p})} \in E}}x_{bp}} \leq {c_{b}\quad {\forall{p \in P}}}$

where

n_(b) indicates a number of components of the component type bεB to beplaced,

c_(p), pεP denotes a window which can be predetermined and which isvaried in association to form the sequence of flow problems,

a first solution variable x_(bp) indicates how many components of thecomponent type bεE are placed by a pipette of the pipette type pεP.

In the situation where no permissible association exists, a check can becarried out to determine whether a set of trees with the pipette typesas nodes of the trees can be determined for possible allocations of thecomponent types to the pipette types in accordance with the allocationlist, so that each sub-graph, which is induced by a set of pipette typesP(b) which can place a component b, in the set of trees is cohesive. Ifsuch a set of trees cannot be determined, the solution to be determinedcan be found by solving a linear program.

The linear program can be formed in accordance with the following rules:${\sum\limits_{p:{{({b,p})} \in E}}x_{bp}} = {n_{b}\quad {\forall{b \in B}}}$${\sum\limits_{p:{{({b,p})} \in E}}x_{bp}} \leq {{y_{b}\quad \cdot z}\quad {\forall{p \in P}}}$${\sum\limits_{p \in P}y_{p}} \leq k$

where

n_(b) indicates a number of components of the component type bεB to beplaced,

a first solution variable x_(bp) indicates how many components of thecomponent type bεB are placed by a pipette of the pipette type pεP.

a second solution variable yp indicates how many pipettes of the pipettetype pεP are selected,

k denotes a number of segments of the placement head, and

x, y≧0 is an integer.

This development once again ensures that the population process can becarried out with the optimum number of cycles.

The developments apply both to the method and to the apparatuses, withthe processor in each case being set up in such a manner that themethods can be carried out according to the development.

FIG. 2 shows an automatic placement machine 201 with a feed region 202,which includes feed devices with component stores. The component storesincludes components which are placed at predetermined placementpositions 204 on a printed circuit board 203 by means of the automaticplacement machine 201. The components 205 are picked up by a placementhead—an SP head or an IC head, are transported to the placementpositions, and are placed at the respective placement position on theprinted circuit board 203.

The placement head has segments for holding pipettes of differentpipette types pεP by means of which different components can be pickedup, transported and placed in position.

Different component types which can each be placed in position using thesame set of pipette types can be combined to form so-called componentclasses and can all be handled as if they were one component type.

It can thus be said that two components belong to the same componentclass if they can be placed in position using precisely the same pipettetypes.

The automatic placement machine 201 has an apparatus 206, having amemory 207 and a processor 208, which is connected to the memory 207.

The following lists are stored in the memory 207:

a component type list B in which the component types which are intendedto be placed on the printed circuit board 203 are stored, together withthe respective number of components.

A pipette type list P, in which the available pipette types are stored.

An allocation list E which states which component types can be placed inposition using what pipette types.

According to the method described in the following text, the pipettes tobe fitted to the SP placement head for populating the printed circuitboard 203 are determined. The placement head is fitted with the pipettesof the appropriate pipette types, and the printed circuit board 203 hasthe component 205 placed on it in accordance with the predeterminedpopulation plan and the predetermined placement positions 204.

In order to make it easier to understand, the allocation list E can berepresented in the form of a bipartite graph (see FIG. 3a and FIG. 3b).

Nodes on the left-hand side of the graph (see FIG. 3a) denote componenttypes, and nodes on the right-hand side of the bipartite graph denotepipette types. Links between the nodes on the left and right-hand sidesof the graph indicate that a component of the respective component typecan be placed in position using a pipette of the respective pipettetype.

The method illustrated in FIG. 1 is carried out in association toallocate the components to the pipettes, and thus in association toselect the pipettes from various pipette types for population of theprinted circuit board 203.

A placement operation is carried out in at least one cycle, with a cyclein each case denoting a sequence in which the placement head picks up anumber of components which can be predetermined, as a maximum itscapacity of components, transports them and places them at theappropriate, predetermined placement position 204 on the printed circuitboard 203.

The aim is to keep the number of cycles required for a placement processas low as possible. The method described in the following text iscarried out iteratively for at least a number of cycles which can bepredetermined.

The following procedure is chosen in this case, by means of which asolution to the pipette selection problem, which will be explained inthe following text, for the predetermined number of cycles, it is foundor determined that no such solution exists for that predetermined numberof cycles.

If a solution exists, then the method is ended, while if no solution isdetermined, then the number of cycles is increased, and the method forsolving the pipette selection problem is carried out, until a number ofcycles has been determined for which a solution exists.

This procedure can, obviously, be formulated as follows. A trivial lowerlimit us and an upper limit os are specified for the minimum number z ofcycles.

The method comprises the following:

1. Set z=us.

2. Find a permissible solution for the pipette selection problem. If nopermissible solution exists and the upper limit os for the number z ofcycles has not yet been reached, set z=z+1 and repeat 2.

It has been found that, generally, the optimum number of cycles resultsfrom the lower limit us itself or from us+1, so that, generally, one ortwo iterations of the method are sufficient to determine a solution tothe pipette selection problem.

In each iteration, that is to say for a predetermined number of cyclesin each case, the method described in the following text is carried outto determine the allocation of the components to the pipettes.

In 101, a check is carried out for the possible allocations of thecomponent types to the various pipette types to determine whether theconsecutive ones characteristic is satisfied.

The consecutive ones characteristic is satisfied if:

a component type association in the set of component types can bedefined such that:

(b 1, p)εE, (b 2, p)εE, b 1≦b≦b 2→(b, p)εE,

 where

b1, b2, b denote components in the component type list B,

(b, p)εE, bεB, pεP, denotes the situation where a component of componenttype b can be placed in position using a pipette of pipette type p,

Such a component type association is referred to in the following textas a permissible component type association.

FIG. 3a and FIG. 3b illustrate an example of one possible allocationwhich satisfies the consecutive ones characteristic.

The two bipartite graphs ( FIG. 3a, FIG. 3b) illustrate the componenttypes bj (j=1, . . . , m) the pipette types (pi (i=1, . . . , n) and theset of possible allocations of component types to the pipette types.

In the graphs in FIG. 3b, the component types are arranged in such amanner that those component types which can be placed in position usinga pipette of the respective pipette type pεP follow one another directlyfor all the pipette types pεP. The consecutive ones characteristic isaccordingly satisfied.

The method described in [1] is used to check the consecutive onescharacteristic, using which method a data record can be checked with alinear delay time for the consecutive ones characteristic. If theconsecutive ones characteristic is satisfied, then the method from [1]implicitly supplies all the permissible associations to the componenttypes.

When an instance of the pipette selection problem with a consecutiveones characteristic occurs, then, in 102, a method is carried out whichis referred to in the following text as the inverse greedy method andwhose methods are explained in detail.

The inverse greedy method is used to find, for a predetermined number ofcycles z, a minimum number of pipettes which are required to place inposition all those components which are to be placed in position, with zcycles. At the same time, the corresponding allocations of thecomponents to the pipettes of the various pipette types and the numberof pipettes of the respective pipette type pεP are determined.

Provided the number of pipettes required is not greater than the numberof segments on the placement head, then a solution to the pipetteselection problem for z cycles has been found, otherwise no suchsolution exists.

Before the method is carried out, a pipette type association for thepipette types is formed in such a manner that:

p 1≦p 2→(1(p 1)<1(p 2))v((1(p 1)=1(p 2)){circumflex over ( )}f(p 1)≧f(p2))),

where

p1, p2εP denote different pipette types,

1(p), pεP, is defined by

1(p)=max{bεB|(b, p)εE},

 f(p), pεP, is defined by

f(p)=min{bεB|(b, p)εE},

FIGS. 4a and 4 b show the example of pipette type association started inFIGS. 3a and 3 b. In addition to the component types, the pipette typesare also arranged in a suitable manner in the graph in FIG. 4b.

In the inverse greedy method (step 102), the components are successivelyallocated to the pipette types in a sequence which is governed by thecomponent type association, in the following manner:

if, for a component type, pipette types exist to which any givenmultiple of the number of cycles z of large numbers of components arenot already allocated, then these pipette types are first of allallocated to components on the basis of the pipette type association, insuch a manner that the number of allocated components is rounded upwhere possible to the next multiple of the number of cycles z;

if any components of this component type remain, then these areallocated to the last possible pipette type based on the pipette typeassociation.

The following program routine shows one possible implementation of theinverse greedy method in the form of a computer program in theprogramming language C.

A first solution variable x_(bp), a second solution variable y_(p),parameters n_(b), t_(b), etc., are referred to by x[bp], y[p], n[b],t[b] etc., in the program routine. In this case, tb is defined by

tb=max{pεP|(b, p)εE

for (j=1; j≦|P|; j++)

{

for (i=f[p[j]]; i≦1[p[j]]; i++)

{

if (p[j]==t(b[i]))

{

x[b[i], p[j]]=n[b[i]];

m[p[j]]+=x[b[i], p[j]];

n[b[i]]−=x[b[i], p[j]];

}

else

break;

}

while ((i≦|B|) && (m[p[j]] mod z 1=0)

{

gap=z−(m[p[j]] mod z);

x[b[i], p[j]]=min{n[b[i]], gap};

m[p[j]]+=x[b[i], p[j]];

n[b[i]]−=x[b[i], p[j]];

i=i+1;

}

y[p[j]]=┌m[p[j]]/z┐;

}

FIG. 6a illustrates the inverse greedy method and the allocationresulting from this, in the form of a graph, for a further simpleexample. The following initial situation is assumed.

A number of components (indicated by a figure) which are to be placed onthe printed circuit board 203 is stated for each of the five componenttypes. This means that, in this example, the following components of therespective component type must be placed in position:

first component type: 20 components; second component type: 10components; third component type: 15 components; fourth component type: 7 components; fifth component type: 20 components.

Three different pipette types are available for the placement process.The number of nodes used to denote the pipette types in each caseindicates the number y_(p) (second solution variable) of pipettes of therespective pipette type determined by the method.

This thus results in the following distribution of pipettes to thevarious pipette types:

first pipette type: 4 pipettes; second pipette type: 1 pipette; thirdpipette type: 7 pipettes.

In this example, an allocation is determined for 6 cycles.

The components of the first component type can be placed in positiononly by using pipettes of the first pipette type, as is illustrated bythe link between the two nodes in the graph.

The components of the second component type can be placed in position bypipettes of either the first or second pipette type.

Components of the third component type can be placed in position bypipettes of the first, second or third pipette type.

Components of the fourth component type can be placed in position bypipettes of the second pipette type and pipettes of the third pipettetype.

Components of the fifth component type can be placed in position only bypipettes of the third pipette type.

The inverse greedy method 102 starts with the components of the firstcomponent type, for which all the components are allocated to thepipettes of the first pipette type in the six cycles. Overall, fourpipettes of the first pipette type are required in the six cycles(6×4=24) in order to place in position all 20 components of the firstcomponent type using the pipettes of the first pipette type. The 20components of the first component type are thus allocated to thepipettes of the first pipette type.

The components of the second component type (10 components) are thenallocated to the pipettes. The pipettes of the first pipette type stillhave a free capacity of four components (24−20=4 components) in the sixcycles, which can be placed in position by pipettes of the first pipettetype in the six cycles. Four of the 10 components of the secondcomponent type are thus allocated to the pipettes of the first pipettetype since, if possible, the pipettes are “filled” with the componentsduring the allocation process. The remaining six components of thesecond component type are allocated to a pipette of the second pipettetype, since a pipette of the second pipette type can place in position atotal of six components in the six cycles.

Additionally, the components of the third component type (15 components)are allocated to the pipettes. The pipettes of the first pipette typeand the second pipette type are already in use, so that the 15components of the third component type are allocated to pipettes of thethird pipette type. Seven pipettes of the third pipette type arerequired for this purpose. The seven components of the fourth componenttype and the 20 components of the fifth component type are likewiseallocated to pipettes of the third pipette type. Overall, 7×6=42components can be placed in position using the seven pipettes of thethird pipette type. This is precisely equal to the number of componentsof the third component type, of the fourth component type and of thefifth component type which are intended to be placed in position.

A solution thus exists for the allocation process in accordance with theinverse greedy method (102) for 6 cycles, and the placement process cancontinue on the basis of this allocation. The result of the method isgiven by the number of pipettes in the respective pipette types whichare required, and by the allocation of the components to the pipettetypes.

It should be stressed that the inverse greedy method, as is still to beexplained in the following text, indicates an optimum solution to thepipette selection problem in the situation where the consecutive onescharacteristic is satisfied for the possible allocations.

The situation in which it is no longer possible to guarantee that thesolution represents an optimum solution to the pipette selection problemin the mathematical sense is that when the consecutive onescharacteristic is not satisfied.

If the consecutive ones characteristic (101) is not satisfied, then oneof the variants (103 or 104), which are explained in the following text,is carried out.

In the course of a first heuristic (103), and based on a blank graph,that is to say a set of component types and pipette types but withoutallocations, which from the trivial point of view satisfies theconsecutive ones characteristic, the individual pipette types pεP areconsidered successively and as many edges (p, b)εE as possible are addedto the graph, without losing the consecutives ones characteristic. Theinverse greedy method described above is now carried out on theresultant graph, which now includes fewer edges than the original graph,but which satisfies the consecutive ones characteristic.

In a further variant of the method, the disclosure in 104 can also beused to investigate the possible allocations for the followingcharacteristic, which is referred to in the following text as theacyclic hypergraph characteristic:

a set of trees W (wood W) exists with the pipette types P as nodes, sothat each sub-graph, which is induced from a set of pipette types P(b)which can place a component b, in the wood W is cohesive.

If the acyclic hypergraph characteristic is satisfied, then the pipettetypes are sorted topologically on the basis of the wood W, that is tosay a linear association is established for the pipette types.

A method for checking for the acyclic hypergraph characteristic andwhich has linear complexity is known from [2].

In order to clarify this characteristic, FIGS. 5a and 5 b firstly showan allocation list E with component types and pipette types (FIG. 5a)and a wood with the required characteristics; the numbers define adesired linear association (FIG. 5b).

If the acyclic hypergraph characteristic is satisfied, then a methodwhich is described in the following text as the greedy flow method iscarried out in 105. The pipette selection problem is formulated as asequence PAP_(c) of flow problems in accordance with the followingrules: (PAP_(c))${\sum\limits_{p:{{({b,p})} \in E}}x_{bp}} = {n_{b}\quad {{\forall{b \in B}}{{\sum\limits_{p:{{({b,p})} \in E}}x_{bp}} \leq {c_{b}\quad {\forall{p \in P}}}}}}$

where

n_(b) indicates a number of components of the component type bεE to beplaced,

c_(p), pεP denotes a window which can be predetermined and which isvaried in association to form the sequence of flow problems,

a first solution variable x_(bp) indicates how many components of thecomponent type bεB are placed by a pipette of the pipette type pεP.

The method described in [3] is used to solve such a flow problem.

The computer program which is described in the following text and inwhich a sequence of flow problems of the above type are solved is usedto solve the pipette selection problem, with the limits c_(p) (c[p] inthe program) being varied. The linear association of the pipette typesis given by

P 1≦P 2≦. . . ≦P|P|

for (j=1; j≦|P|; j++)

c[p[j]]=┌n_(ges)/z┐*z;

for (j=1; j≦|P|; j++)

for (c[p[j]]=0; c[p[j]]≦┌n_(ges)/z┐* z; c[p[j]]+=z)

if (is_feasible (PAP_(c)))

{

y[p[j]]=c[p[j]]/z;

break;

}

The allocations, that is to say the values for x_(bp) are obtained fromthe solution of the respective last flow problem.

Furthermore, if ${{\sum\limits_{p \in P}y_{p}} > k},$

where k denotes the number of segments in the placement head, nosolution exists with the number of cycles z.

If the check for the acyclic hypergraph characteristic (104) gives anegative result, that is to say the characteristic is not satisfied,then a method is carried out which comprises two possible methods (106or 107) which are described in the following text.

In a first variant (106), a method is carried out in the course of asecond heuristic in which edges have been deleted from the allocationgraph, so that, in accordance with the method described above, a wood Whaving the acyclic hypergraph characteristic can be formed. It isadvantageous in this case to ensure that as few edges as possible aredeleted. The greedy flow method is then applied to the resultant graph.

It should be stressed that the greedy flow method can be carried out forany linear association to the pipette types P. In the general case thereis no guarantee that no solution is found using the greedy flow method.Nevertheless, very good results are also achieved using the greedy flowmethod.

As an alternative to the second heuristic (106), the pipette selectionproblem can be formulated and solved, or its unacceptability can beconfirmed, as an integer linear program. The linear program PAP_(z) forthe pipette selection problem is formulated in accordance with thefollowing rules:${\sum\limits_{p:{{({b,p})} \in E}}x_{bp}} = {n_{b}\quad {\forall{b \in B}}}$${\sum\limits_{p:{{({b,p})} \in E}}x_{bp}} \leq {{y_{b}\quad \cdot z}\quad {\forall{p \in P}}}$${\sum\limits_{p \in P}y_{p}} \leq k$

where

n_(b) indicates a number of components of the component type bεE to beplaced,

a first solution variable x_(bp) indicates how many components of thecomponent type bεB are placed by a pipette of the pipette type pεP.

a second solution variable yp indicates how many pipettes of the pipettetype pεP are selected,

k denotes a number of segments of the placement head, and

x, y≧0 is an integer.

An integer linear program is optimally deleted by the known branch andcut method, as is described in [4].

If the allocation of the components to the pipettes of the variouspipette types, and thus the allocation of the pipettes and pipette typesto the placement head are determined in accordance with the methoddescribed above, then the placement process is carried out on the basisof this allocation, using the pipettes which have been determined.

The respective method variant is selected as a function of thecomputation time available for carrying out the method.

What is claimed is:
 1. A method for computer-aided pipette selection fora placement head of an automatic placement machine and for allocation ofcomponents to different pipette types predetermined in a pipetteselection for a given number of cycles z, comprising: a stored componenttype list B with a respectively associated number of components of thecomponent type to be placed; a component type association based on thecomponent types; and a stored pipette type list P of available pipettetypes and an allocation list E which indicates which component types canbe placed using what pipette types, and based on the component typeassociation for the pipette types pεP, a pipette type association isformed in such a manner that: p 1≦p 2→(1(p 1)<1(p 2))v((1(p 1)=1(p2)){circumflex over ( )}f(p 1)≧f(p 2))), where p1, p2εP denote differentpipette types, 1(p), pεP, is defined by 1(p)=max{bεB|(b, p)εE},  f(p),pεP, is defined by f(p)=min{bεB|(b, p)εE}, in which the components aresuccessively allocated to the pipette types, in a sequence which resultsfrom the component type association, in the following manner: if, for acomponent type, pipette types exist to which any given multiple of thenumber of cycles z of large numbers of components are not alreadyallocated, then pipette types are first allocated to components on thebasis of the pipette type association, in such a manner that the numberof allocated components is rounded up to the next multiple of the numberof cycles z; if any components of this component type remain, then theremaining components are allocated to the last possible pipette typebased on the pipette type association and, in which the number ofcomponents allocated to one pipette type is used to determine the numberof pipettes of that pipette type to be selected.
 2. A method forcomputer-aided pipette selection for a placement head of an automaticplacement machine and for allocation of components to different pipettetypes predetermined in a pipette selection for a given number of cyclesz, comprising: a stored component type list B with a respectivelyassociated number of components of the component type to be placed; astored pipette type list P of available pipette types and an allocationlist E which indicates which component types can be placed using whatpipette types; and determining whether a permissible component typeassociation by carrying out a check, such that (b 1, p)εE, (b 2, p)εE, b1≦b≦b 2→(b, p)εE, where b1, b2, b components in the component type listB are denoted, (b, p)εE, bεB , pεP, denotes the situation where acomponent of component type b can be placed using a pipette of pipettetype p, in which, based on the permissible component type associationfor the pipette types pεP, a pipette type association is formed in sucha manner that: p 1≦p 2→(1(p 1)<1(p 2))v((1(p 1)=1(p 2)){circumflex over( )}f(p 1)≧f(p 2))),  where p1, p2εP denote different pipette types,1(p), pεP, is defined by 1(p)=max{bεB|(b,p)εE},  f(p), pεP, is definedby f(p)=min{bεB|(b, p)εE}, in which the components are successivelyallocated to the pipette types, in a sequence which results from thecomponent type association, in the following manner: if, for a componenttype, pipette types exist to which any given multiple of the number ofcycles z of large numbers of components are not already allocated, thenthe pipette types are first allocated to components on the basis of thepipette type association, in such a manner that the number of allocatedcomponents is rounded up to the next multiple of the number of cycles z;if any components of the component type remain, then the remainingcomponents are allocated to the last possible pipette type based on thepipette type association and, in which the number of componentsallocated to one pipette type is used to determine the number ofpipettes of that pipette type to be selected.
 3. The method as claimedin claim 2, wherein in the situation where no permissible component typeassociation exists, the allocation list E is reduced in size, based onthe component types and the pipette types, as many components aspossible are allocated successively for each pipette type to therespective pipette type so that a component type association to thecomponent types exists for the resultant allocation list E in such amanner that: (b 1, p)εE, (b 2, p)εE, b 1≦b≦b 2→(b,p)εE,  in which, forthe pipette types pεP a pipette type association is formed in such amanner that: P 1≦P 2→(1(P 1)<1(P 2))v((1(P 1)=1(P 2)){circumflex over ()}f(P 1)≧f(P 2))), in which the components are successively allocated tothe pipette types, in a sequence which results from the component typeassociation, in the following manner: if, for a component type, pipettetypes exist to which any given multiple of the number of cycles z oflarge numbers of components are not already allocated, then pipettetypes are first allocated to components on the basis of the pipette typeassociation, in such a manner that the number of allocated components isrounded up to the next multiple of the number of cycles z; if anycomponents of this component type remain, then the remaining componentsare allocated to the last possible pipette type based on the pipettetype association and, in which the number of components allocated to onepipette type is used to determine the number of pipettes of that pipettetype to be selected.
 4. The method as claimed in claim 2 wherein in thesituation where no permissible component type association exists, thesolution to be determined is found by solving a sequence of flowproblems.
 5. The method as claimed in claim 2, wherein in the situationwhere no permissible component type association exists, a check iscarried out to determine whether a set of trees with the pipette typesas nodes of the trees can be determined for possible allocations of thecomponent types to the pipette types in accordance with the allocationlist E, so that each sub-graph, which is induced from a set of pipettetypes P(b) which can place a component b, in the set of trees iscohesive, and if such a set of trees can be determined, the solution tobe determined is found by solving a sequence of flow problems.
 6. Themethod as claimed in claim 2, wherein the situation where no permissibleassociation exists, a check is carried out to determine whether a set oftrees with the pipette types as nodes of the trees can be determined forpossible allocations of the component types to the pipette types inaccordance with the allocation list, so that each sub-graph, which isinduced by a set of pipette types P(b) which can place a component b, inthe set of trees is cohesive, if such a set of trees cannot bedetermined, elements are deleted from the allocation list E until such aset of trees can be determined, and the solution to be determined isfound by solving a sequence of flow problems.
 7. The method as claimedin claim 4, in which the sequence of flow problems is formed inaccordance with the following rules:${\sum\limits_{p:{{({b,p})} \in E}}x_{bp}} = {n_{b}\quad {\forall{b \in B}}}$${\sum\limits_{p:{{({b,p})} \in E}}x_{bp}} \leq {c_{b}\quad {\forall{p \in P}}}$

 where n_(b) indicates a number of components of the component type bεEto be placed, c_(p), pεP denotes a window which can be predetermined andwhich is varied in association to form the sequence of flow problems, afirst solution variable x_(bp) indicates how many components of thecomponent type bεB are placed by a pipette of the pipette type pεP. 8.The method as claimed in claim 2, wherein in the situation where nopermissible association exists, a check is carried out to determinewhether a set of trees with the pipette types as nodes of the trees canbe determined for possible allocations of the component types to thepipette types in accordance with the allocation list, so that eachsub-graph, which is induced by a set of pipette types P(b) which canplace a component b, in the set of trees is cohesive, and in which, ifno such set of trees can be determined, the solution to be determined isfound by solving a linear program.
 9. The method as claimed in claim 8,wherein in which the linear program is formed in accordance with thefollowing rules:${\sum\limits_{p:{{({b,p})} \in E}}x_{bp}} = {n_{b}\quad {\forall{b \in B}}}$${\sum\limits_{p:{{({b,p})} \in E}}x_{bp}} \leq {{y_{b}\quad \cdot z}\quad {\forall{p \in P}}}$${\sum\limits_{p \in P}y_{p}} \leq k$

where n_(b) indicates a number of components of the component type bεEto be placed, a first solution variable x_(bp) indicates how manycomponents of the component type bεB are placed by a pipette of thepipette type pεP, a second solution variable yp indicates how manypipettes of the pipette type pεP are selected, k denotes a number ofsegments of the placement head, and x,y≧0 is an integer.
 10. The methodas claimed in claim 9, wherein the linear program is solved using abranch and cut method.
 11. The method as claimed in claim 1 which iscarried out a number of times for a different number of cycles in eachcase.
 12. The method as claimed in claim 1 in which the pipettes whichhave been determined are allocated to the placement head, and thecomponents are placed on a printed circuit board using the placementhead.
 13. The method as claimed in claim 2, which is carried out anumber of times for a different number of cycles in each case.
 14. Themethod as claimed in claim 2, in which the pipettes which have beendetermined are allocated to the placement head, and the components areplaced on a printed circuit board using the placement head.
 15. Anapparatus for computer-aided pipette selection for a placement head ofan automatic placement machine and for allocation of components todifferent pipette types predetermined in a pipette selection for a givennumber of cycles z, comprising: a memory for storing a component typelist B, a pipette type list B and an allocation list E; and a processorwhich is coupled to the memory and stores the following for processing:the stored component type list B with the respectively associated numberof components of the component type to be placed, a component typeassociation for the component types, a stored pipette type list P ofavailable pipette types and the allocation list E which indicates whichcomponent types can be placed by what pipette types, and based on thecomponent type association for the pipette types pεP, a pipette typeassociation is formed in such a manner that: p 1≦p 2→(1(p 1)<1(p2))v((1(p 1)=1(p 2)){circumflex over ( )}f(p 1)≧f(p 2))),  where p1,p2εP denote different pipette types, 1(p), pεP, is defined by1(p)=max{bεB|(b, p)εE},  f(p), pεP, is defined by f(p)=min{bεB|(b,p)εE}, in which the components are successively allocated to the pipettetypes, in a sequence which results from the component type association,in the following manner: if, for a component type, pipette types existto which any given multiple of the number of cycles z of large numbersof components are not already allocated, then the pipette types arefirst allocated to components on the basis of the pipette typeassociation, in such a manner that the number of allocated components isrounded up to the next multiple of the number of cycles z; if anycomponents of this component type remain, then the remaining componentsare allocated to the last possible pipette type based on the pipettetype association and, in which the number of components allocated to onepipette type is used to determine the number of pipettes of that pipettetype to be selected.
 16. The apparatus as claimed in claim 15, in whichthe processor is set up in such a manner that the method is carried outfor a different number of cycles in each case.
 17. An automaticplacement machine having an apparatus as claimed in claim 15 furthercomprising: a component memory for the component, a placement head forpicking up pipettes, at least one pipette for picking up components, aplacement device for placing the components on a printed circuit.
 18. Anapparatus for computer-aided pipette selection for a placement head ofan automatic placement machine and for allocation of components to thepipette types predetermined in a pipette selection for a given number ofcycles z, comprising: a memory for storing a component type list B, apipette type list B and an allocation list E; and a processor which iscoupled to the memory and stores the following for processing: a storedcomponent type list B with the respectively associated number ofcomponents of the component type to be placed, a stored pipette typelist P of available pipette types and an allocation list E whichindicates which component types can be placed by what pipette types, acheck is carried out to determine whether a permissible component typeassociation exists, such that (b 1, p)εE, (b 2, p)εE, b 1≦b≦b 2→(b,p)εE,  where b1, b2, b components in the component type list B aredenoted, (b, p)εE, bεB , pεP, denotes the situation where a component ofcomponent type b can be placed using a pipette of pipette type p, inwhich, based on the permissible component type association for thepipette types pεP, a pipette type association is formed in such a mannerthat: p 1≦p 2→(1(p 1)<1(p 2))v((1(p 1)=1(p 2)){circumflex over ( )}f(p1)≧f(p 2))),  where p1, p2εP denote different pipette types, 1(p), pεP,is defined by 1(p)=max{bεB|(b, p)εE},  f(p), pεP, is defined byf(p))=min{bεB|(b, p)εE}, in which the components are successivelyallocated to the pipette types, in a sequence which results from thecomponent type association, in the following manner: if, for a componenttype, pipette types exist to which any given multiple of the number ofcycles z of large numbers of components are not already allocated, thenthe pipette types are first allocated to components on the basis of thepipette type association, in such a manner that the number of allocatedcomponents is rounded up to the next multiple of the number of cycles z;if any components of this component type remain, then the remainingcomponents are allocated to the last possible pipette type based on thepipette type association and, in which the number of componentsallocated to one pipette type is used to determine the number ofpipettes of that pipette type to be selected.
 19. The apparatus asclaimed in claim 18, in which the processor is set up in such a mannerthat in the situation where no permissible component type associationexists, the allocation list E is reduced in size and based on thecomponent types and the pipette types, as many components as possibleare allocated successively for each pipette type to the respectivepipette type so that a component type association to the component typesexists for the resultant allocation list E in such a manner that: (b 1,p)εE, (b 2, p)εE, b 1≦b≦b 2→(b, p)εE,  in which, for the pipette typespεP a pipette type association is formed in such a manner that: P 1≦P2→(1(P 1)<1(P 2))v((1(P 1)=1(P 2)){circumflex over ( )}f(P 1)≧f(P 2))),the components are successively allocated to the pipette types, in asequence which results from the component type association, in thefollowing manner: if, for a component type, pipette types exist to whichany given multiple of the number of cycles z of large numbers ofcomponents are not already allocated, then the pipette types are firstallocated to components on the basis of the pipette type association, insuch a manner that the number of allocated components is rounded up tothe next multiple of the number of cycles z; if any components of thiscomponent type remain, then the remaining components re allocated to thelast possible pipette type based on the pipette type association and,the number of components allocated to one pipette type is used todetermine the number of pipettes of that pipette type to be selected.20. The apparatus as claimed in claim 18, in which the processor is setup in such a manner that in the situation where no permissible componenttype association exists, the solution to be determined is found bysolving a sequence of flow problems.
 21. The apparatus as claimed inclaim 18, in which the processor is set up in such a manner that in thesituation where no permissible component type association exists, acheck is carried out to determine whether a set of trees with thepipette types as nodes of the trees can be determined for possibleallocations of the component types to the pipette types in accordancewith the allocation list E, so that each sub-graph, which is inducedfrom a set of pipette types P(b) which can place a component b, in theset of trees is cohesive, and if such a set of trees can be determined,the solution to be determined is found by solving a sequence of flowproblems.
 22. The apparatus as claimed in claim 18, in which theprocessor is set up in such a manner that in the situation where nopermissible association exists, a check is carried out to determinewhether a set of trees with the pipette types as nodes of the trees canbe determined for possible allocations of the component types to thepipette types in accordance with the allocation list, so that eachsub-graph, which is induced by a set of pipette types P(b) which canplace a component b, in the set of trees is cohesive, if such a set oftrees cannot be determined, elements are deleted from the allocationlist E until such a set of trees can be determined, and the solution tobe determined is found by solving a sequence of flow problems.
 23. Theapparatus as claimed in claim 20, in which the processor is set up insuch a manner that the sequence of flow problems is formed in accordancewith the following rules:${\sum\limits_{p:{{({b,p})} \in E}}x_{bp}} = {n_{b}\quad {\forall{b \in B}}}$${\sum\limits_{p:{{({b,p})} \in E}}x_{bp}} \leq {c_{b}\quad {\forall{p \in P}}}$

 where n_(b) indicates a number of components of the component type bεEto be placed, c_(p), pεP denotes a window which can be predetermined andwhich is varied in association to form the sequence of flow problems, afirst solution variable x_(bp) indicates how many components of thecomponent type bεB are placed by a pipette of the pipette type pεP. 24.The apparatus as claimed in claim 18, in which the processor is set upin such a manner that in the situation where no permissible associationexists, a check is carried out to determine whether a set of trees withthe pipette types as nodes of the trees can be determined for possibleallocations of the component types to the pipette types in accordancewith the allocation list, so that each sub-graph, which is induced by aset of pipette types P(b) which can place a component b, in the set oftrees is cohesive, and if such a set of trees cannot be determined, thesolution to be determined is found by solving a linear program as thepossible allocations are formulated.
 25. The apparatus as claimed inclaim 18, in which the processor is set up in such a manner that thelinear program is formed in accordance with the following rules:${\sum\limits_{p:{{({b,p})} \in E}}x_{bp}} = {n_{b}\quad {\forall{b \in B}}}$${\sum\limits_{p:{{({b,p})} \in E}}x_{bp}} \leq {{y_{b}\quad \cdot z}\quad {\forall{p \in P}}}$${\sum\limits_{p \in P}y_{p}} \leq k$

 where n_(b) indicates a number of components of the component type bεEto be placed, a first solution variable x_(bp) indicates how manycomponents of the component type bεB are placed by a pipette of thepipette type pεP; a second solution variable yp indicates how manypipettes of the pipette type pεP are selected, k denotes a number ofsegments of the placement head, and x,y≧0 is an integer.
 26. Theapparatus as claimed in claim 25, in which the processor is set up insuch a manner that the linear program is solved using a branch and cutmethod.
 27. The apparatus as claimed in claim 18, in which the processoris set up in such a manner that the method is carried out for adifferent number of cycles in each case.
 28. An automatic placementmachine having an apparatus as claimed in claim 18 further comprising: acomponent memory for the component, a placement head for picking uppipettes, at least one pipette for picking up components, a placementdevice for placing the components on a printed circuit.